Detección de Trampas de Teclado en Pruebas de Navegación
Este documento explica cómo nuestra herramienta de pruebas de accesibilidad detecta y maneja patrones de navegación con teclado que podrían indicar trampas o comportamientos inesperados.
Cómo Funciona
La herramienta se enfoca en analizar la secuencia de elementos que reciben el foco al navegar con Tab y Shift+Tab. Se han implementado patrones específicos para identificar comportamientos anómalos.
Patrones de Detección
Se han añadido los siguientes patrones para detectar trampas de teclado en la página:
Patrón A→B→A→B: Detección de Ciclos entre Dos Elementos
Este patrón identifica una situación donde el foco del teclado alterna repetidamente entre dos elementos específicos (A y B). Esto puede ocurrir si la lógica de navegación de la página está mal configurada, impidiendo al usuario salir de este ciclo.
Ejemplo de Secuencia:
- El foco está en el elemento
A. - Al presionar
Tab, el foco se mueve al elementoB. - Al presionar
Tabnuevamente, el foco regresa al elementoA. - Al presionar
Tabuna vez más, el foco vuelve al elementoB.
Patrón A→B→C→A→B→C: Detección de Ciclos entre Tres Elementos
Similar al patrón anterior, este patrón detecta un ciclo de foco que involucra a tres elementos distintos (A, B y C). Un ciclo de esta naturaleza también indica un problema en la gestión del foco del teclado.
Ejemplo de Secuencia:
- El foco está en el elemento
A. - Al presionar
Tab, el foco se mueve al elementoB. - Al presionar
Tabnuevamente, el foco se mueve al elementoC. - Al presionar
Tabuna vez más, el foco regresa al elementoA. - Al presionar
Tabnuevamente, el foco se mueve al elementoB. - Al presionar
Tabuna vez más, el foco se mueve al elementoC.
Patrón A→A→A→A: Detección de Repetición en un Único Elemento
Este patrón se activa cuando el foco del teclado permanece en el mismo elemento (A) de forma consecutiva, a pesar de que el usuario esté intentando navegar a otros elementos. Esto puede suceder si un elemento captura el foco de manera persistente o si la navegación está bloqueada.
Ejemplo de Secuencia:
- El foco está en el elemento
A. - Al presionar
Tab, el foco permanece en el elementoA. - Al presionar
Tabnuevamente, el foco sigue en el elementoA. - Al presionar
Tabuna vez más, el foco continúa en el elementoA.
Proceso de Detección
La herramienta registra la secuencia de elementos que reciben el foco durante la navegación. Al detectar cualquiera de estos patrones, se genera una alerta indicando la presencia de una trampa de teclado. Esto permite a los desarrolladores identificar y corregir problemas de accesibilidad relacionados con la navegación por teclado.
